package proxy1;

public class MyTest {
	public static void main(String[] args) {
		People proxyObject = (People) Proxy1.newProxyInstance(MyTest.class.getClassLoader(),
				new Class<?>[] { People.class }, new Advice(new Jack())); // 获取代理，MyTest.class.getClassLoader()是类加载器，
		//new Advice是对实现类new Jack()的增强，People.class是接口，在吃饭之前之后要洗手，

		proxyObject.eat("chi");// proxyObject是在内存的代理对象，对象名字$Proxy数字，
		// $Proxy0/1 extends Proxy1 implements People，Proxy里面有一个属性InvocationHandler h;
		// proxyObject.eat("chi")调用的是h.invoke(Object proxy, Method method, Object[]
		// args)，
		// h.invoke()方法调到advice.invoke()，
	}
}
